export enum Keyword {
  CONST = 0,
  BOOL,
  FLOAT,
  DOUBLE,
  INT,
  UINT,
  BREAK,
  CONTINUE,
  DO,
  ELSE,
  FOR,
  IF,
  WHILE,
  DISCARD,
  RETURN,
  BVEC2,
  BVEC3,
  BVEC4,
  IVEC2,
  IVEC3,
  IVEC4,
  UVEC2,
  UVEC3,
  UVEC4,
  VEC2,
  VEC3,
  VEC4,
  VEC4_ARRAY,
  MAT2,
  MAT3,
  MAT4,
  MAT2X3,
  MAT2X4,
  MAT3X2,
  MAT3X4,
  MAT4X2,
  MAT4X3,
  IN,
  OUT,
  INOUT,
  CENTROID,
  SAMPLER2D,
  SAMPLER3D,
  SAMPLER_CUBE,
  SAMPLER2D_SHADOW,
  SAMPLER_CUBE_SHADOW,
  SAMPLER2D_ARRAY,
  SAMPLER2D_ARRAY_SHADOW,
  I_SAMPLER2D,
  I_SAMPLER3D,
  I_SAMPLER_CUBE,
  I_SAMPLER2D_ARRAY,
  U_SAMPLER2D,
  U_SAMPLER3D,
  U_SAMPLER_CUBE,
  U_SAMPLER2D_ARRAY,
  STRUCT,
  LAYOUT,
  LOCATION,
  VOID,

  PRECISION,
  PRECISE,
  HIGHP,
  MEDIUMP,
  LOWP,
  INVARIANT,
  SMOOTH,
  FLAT,
  NOPERSPECTIVE,

  // Common Tokens
  True,
  False,
  LeftBrace,
  RightBrace,
  Equal,

  // Source Parser Tokens
  GSRenderQueueType,
  GSBlendState,
  GSDepthState,
  GSStencilState,
  GSRasterState,
  GSEditorProperties,
  GSEditorMacros,
  GSEditor,
  GSTags,
  GSVertexShader,
  GSFragmentShader,
  GSSubShader,
  GSPass,
  GSBlendFactor,
  GSBlendOperation,
  GSBool,
  GSNumber,
  GSColor,
  GSCompareFunction,
  GSStencilOperation,
  GSCullMode,
  GSUsePass,

  // Macros
  MACRO_IF,
  MACRO_IFDEF,
  MACRO_IFNDEF,
  MACRO_ELSE,
  MACRO_ELIF,
  MACRO_ENDIF,
  MACRO_UNDEF,
  MACRO_DEFINE_EXPRESSION,
  MACRO_CONDITIONAL_EXPRESSION,
  MACRO_CALL
}
